Мнемосхема в Пульт.Онлайн — это графический интерфейс для визуализации данных и управления узлами системы. Она позволяет отображать значения переменных, состояние оборудования и предоставлять оператору средства управления.
Мнемосхемы в Пульт.Онлайн предоставляют гибкий инструмент для создания современных интерфейсов оператора любой сложности — от простых индикаторов до комплексных панелей управления с анимацией и интерактивными элементами.
Узел — логическая единица системы, представляющая физическое устройство или группу устройств. Узел содержит набор переменных, которые получают данные от драйверов (Modbus, BACnet, OPC UA и др.) или являются виртуальными.
Переменная — элемент данных узла. Имеет глобальное имя (например, P1_N1_temp), проектное имя (N1_temp) и локальное имя (temp).
Контрол — графический элемент на мнемосхеме (надпись, кнопка, индикатор, график и т.д.), который можно привязать к переменным узла.
Перед привязкой данных необходимо определить, какие узлы будут использоваться на мнемосхеме:
node1. Это создаст абстрактный узел для привязки.node1, node2 и т.д.), если мнемосхема должна отображать данные с нескольких устройств.$room_number, $gb_color и т.п.)На вкладке Графика добавьте нужный контрол из библиотеки (например, «Надпись», «Поле ввода», «Лампа»).
В свойствах контрола найдите поле для привязки данных. Обычно это value, text или src.
Введите выражение для привязки к переменной узла:
$node1.vars.имя_переменной
Например, $node1.vars.temperature — для отображения значения переменной temperature узла node1.
Для вычислений используйте двойные фигурные скобки:
{{ $node1.vars.temperature / 10 }}
Используйте составные строки для комбинации текста и значений
В поля контролов можно вписывать составные строки, включающие вставки имен переменных и выражений в фигурных скобках:
Температура: {{ $node1.vars.temperature / 10 }} °C
Контрол label с такой строкой в поле value отобразит вычисленный текст:
Температура: 21.3 °C
Используйте математические и логические выражения и функции для вычислений:
{{ bit($node1.vars.status,7) }}
Полный перечень функций смотрите в разделе Математические выражения
Передавайте в контролы параметры мнемосхемы как переменные. Например, на мнемосхеме можно расположить надпись для номера помещения, передав в ее value параметр $room_number. Тогда, привязав мнемосхему к разным узлам через экраны, в каждом экране вы сможете задать собственный отображаемый номер помещения, заполнив свойство экрана room_number - после привязки мнемосхемы к экрану он получит набор свойств мнемосхемы.
После создания мнемосхемы её нужно связать с конкретными узлами проекта. Есть два основных способа:
Используется, когда мнемосхема отображает данные только одного узла:
Теперь при открытии узла в интерфейсе будет отображаться ваша мнемосхема.
Используется, когда мнемосхема должна отображать данные нескольких узлов или требуется сложная навигация. Экран связывает мнемосхему с одним или несколькими узлами и позволяет задать уникальные значения параметрам мнемосхемы.
node1, node2 и т.д.) с реальными узлами проекта.Теперь мнемосхема будет доступна через созданный экран в интерфейсе.
Одна мнемосхема может использоваться как контрол на другой мнемосхеме. Это полезно для создания типовых элементов (например, насосный узел, станок), которые повторяются на общей схеме. Подробнее: Мнемосхема в качестве контрола.
Для отображения дополнительной информации можно создавать всплывающие окна, которые открываются при клике на элементы мнемосхемы. В фейсплейте можно отображать:
Подробнее: Всплывающие окна.
К мнемосхеме можно подключить пользовательские JavaScript-скрипты для реализации сложной логики:
<head> тег:<script src='%resources%/script.js'></script>
oncreate() для инициализации и ondestroy() для очистки.Подробнее: Подключение JS-скриптов к мнемосхеме.
Для сложных интерфейсов можно использовать произвольные HTML-документы в качестве мнемосхем. Это позволяет применять любые веб-технологии и фреймворки. Подробнее: Произвольный HTML.
Используйте параметры узлов в выражениях — кроме переменных, доступны параметры узла: $node1.params.host, $node1.params.port и т.д.
Ссылайтесь на свойства переменных — можно получать не только значение, но и другие свойства:
$node1.vars.temperature.name — имя переменной$node1.vars.temperature.time — время последнего обновления$node1.vars.temperature.error — код ошибкиВыполняйте сборку после изменений — любые изменения в мнемосхемах, прототипах или узлах требуют сборки проекта для применения в интерфейсе.
Тестируйте в интерфейсе — после сборки перейдите в интерфейс и откройте узел или экран для проверки работы мнемосхемы.
На демонстрационном сервере WebSCADA.ru доступны готовые примеры мнемосхем: